iT邦幫忙

2026 iThome 鐵人賽

DAY 9
0
AI Engineering

3分鐘 AI Agent導論系列 第 9

[3分鐘 AI Agent導論] Day9 -- 工具:Agent的手腳

  • 分享至 

  • xImage
  •  

講完大致上的框架,接著要稍微深入地去瞭解各項的運作,接下來幾天會以工具、上下文、模型,作為討論。

工具是AI Agent與外部世界交互的橋樑,例如:感知類工具乘載環境到AI Agent的觀察。執行類工具乘載AI Agent到環境的行動。沒有工具,AI Agent只能紙上談兵;有了工具,它才能真正讀取或改變世界。

這邊根據AI Agent與外界互動的方向,把工具分成5類,這部分僅簡單介紹,如果有興趣會再加深探討。

感知工具--讓AI Agent能訪問訊息 :搜尋引擎提供實時網路數據、文件系統讀取本地文檔、API和數據庫則對接外部服務與核心數據。

執行工具--讓AI Agent改變世界:程式執行、文件操作、系統命令、外部API調用 --決策由這邊轉換成實際行動。(有用過Claude code、Codex、Cursor等就是這樣,但目前把Claude、GPT等加入外部mcp也能如此)

協作工具--讓AI Agent與其他Agent分工合作:委託子Agent完成專項任務,在關鍵決策點請求確認,或在多Agent系統中協調行動。

事件觸發工具--這個比較特殊,與三者在調用方式上有很大的區別:這不是AI Agent主動調用的,而是做為外部輸入來驅動Agent開始執行任務,打個比方:收到一封新email,到了某個預定時間點、或另一個系統發出了Webhook(一種伺服器之間的即時自動通知機制)回調,這些事件會激活這個Agent,讓它開始後續的思考和行動。事件適配器同樣是"環境"向Agent提供觀察的通道,所以我也覺得可以把這個放進來。

用戶溝通工具--是Agent主動與用戶建立連接、傳遞訊息的通道。與執行工具改變外部世界不同,用戶溝通工具專注於訊息傳遞和交互--通過文字訊息、語音通話、郵件等方式,將Agent的執行進展回傳給用戶。

具設計的質量直接决定了 Agent 能走多遠 -- 接口定義不清晰,模型就會亂用工具;錯誤處理不到位,工具一旦調用失敗,Agent 就可能陷入死鎖;權限控制太廣泛,Agent 一旦出錯,後果就難以挽回。MCP(Model Context Protocol,模型上下文協議)標準的推廣,正在讓工具接入變得更容易。

工具調用(Tool Calling,也稱 Function Calling)是現代 LLM Agent 的一項核心能力,它讓模型能够通過結構化的方式調用外部工具。這種能力將 LLM 从一個純粹的文本生成器轉變為能夠執行實際操作的智能系统。之後如果講到這項功能會以"Function calling"作為使用(平常講話也是用這個,我也不知道工具調用算不算正確,算了,反正是翻譯,你爽大家看得懂就好)。

Funciton calling的流程分為四步:首先,在context window裡告訴模型有哪些工具可用(包括名稱、用途和參數);然后,模型自主判斷要不要調用工具、調用哪個、傳甚麼參數;接著,工具執行完畢後,結果被追加到上下文中;最後,模型據此决定下一步行動。這个循環就是之後要介紹的 ReAct 的基礎。

以JSON格式向模型說明

def weather_code_to_text(code):
    mapping = {
        0: "晴朗", 1: "大致晴朗", 2: "多雲", 3: "陰天",
        45: "有霧", 48: "霧淞",
        51: "小毛毛雨", 53: "中毛毛雨", 55: "大毛毛雨",
        61: "小雨", 63: "中雨", 65: "大雨",
        71: "小雪", 73: "中雪", 75: "大雪",
        80: "陣雨", 81: "強陣雨", 82: "劇烈陣雨",
        95: "雷雨", 96: "雷雨伴隨冰雹", 99: "強烈雷雨伴隨冰雹"
    }
    return mapping.get(code, "未知天氣狀況")

Webhook介紹:
https://steam.oxxostudio.tw/category/python/example/line-webhook.html


上一篇
[3分鐘 AI Agent導論] Day8 -- Agent 與環境的交互關係(2) -- 以Manus/Openclaw為例
下一篇
[3分鐘 AI Agent導論] Day10 -- 上下文:Agent的眼睛
系列文
3分鐘 AI Agent導論10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言